package com.ebupt.migu.music.statistics.service;

import com.ebupt.migu.music.statistics.entity.PushResult;
import com.ebupt.migu.music.statistics.entity.StatisticsPush;
import com.ebupt.migu.music.strategy.entity.StrategyInfo;
import com.ebupt.migu.music.userGroup.entity.UserGroupInfo;

import java.util.List;
import java.util.Map;

/**
 * User:  lizm
 * Date:  2019/10/21
 */
public interface StatisticsPushTaskService {

    /**
     * 查询已推送的PUSH策略详情
     * @return
     */
    List<StrategyInfo> queryStrategyPushList();
    /**
     * 创建push统计结果
     * @param params
     * @return
     */
    int createStatisPush(Map<String, Object> params);
    /**
     * 查询策略
     * @param strategyId
     * @return
     */
    StatisticsPush queryStatisticsPush(String strategyId);
    /**
     * 更新push统计结果
     * @param paramMap
     * @return
     */
    int updateStatisPush(Map<String, Object> paramMap);
    /**
     * 查询人群
     * @param groupId
     * @return
     */
    UserGroupInfo queryByGroupId(String groupId);
    /**
     * 查询已推送的PUSH策略
     * @return
     */
    List<PushResult> queryPushResultList();
    /**
     * 根据策略id查询策略
     * @return
     */
    StrategyInfo queryByStrategyId(String strategyId);
    /**
     * 更新push推送的统计结果获取状态
     * @return
     */
    int updatePushResultStatus(String strategyId,String pushDate);
    /**
     *   判断是否存在task id
     * @param taskId
     * @return
     */
    Boolean IsHaveTaskId(String taskId);

    /**
     * 查询某天推送的PUSH策略
     * @return
     */
    List<PushResult> queryPushResultList(String pushDate);
}
